
package basedatos;

import java.util.List;
import javax.persistence.*;
import modelo.Especialidad;

/**
 *
 * @author caesar
 */
public class EspecialidadBD extends OperacionesBD
{
    public  int persistir(Object object)
    {   
        try
        {
            entidad.getTransaction().begin();
            entidad.persist(object);
            entidad.getTransaction().commit();
            return 1;
        }catch(Exception ex)
        {
            ex.printStackTrace();
            entidad.getTransaction().rollback();
            return 0;
        }
    }
    public int deleteRegistro(String cmdSql, int idReg)
    {
        try
        {
            entidad.getTransaction().begin();
            Query q = entidad.createNamedQuery(cmdSql).setParameter("id", idReg);
            q.executeUpdate();
            entidad.getTransaction().commit();
            return 1;
        }catch(Exception ex)
        {
            ex.getMessage();
            entidad.getTransaction().rollback();
            return 0;
        }
     }
    
    public int updateRegistro1(String cmdSql, int idReg)
    {//19jn no usado?
        try
        {
            entidad.getTransaction().begin();
            Query q = entidad.createNamedQuery(cmdSql).setParameter("id", idReg);//entidad.createQuery(cmdSql).setParameter("id", idReg);
            int updateOk = q.executeUpdate();
            entidad.getTransaction().commit();
            return updateOk;
        }catch(Exception ex)
        {
            ex.getMessage();
            entidad.getTransaction().rollback();
            return 0;
        }
    }
    
    public int updateRegistro(Especialidad eEsp)//utilizado
    {
        try
        {
            Especialidad espe = new Especialidad();
            entidad.getTransaction().begin();
            espe =entidad.getReference(Especialidad.class, eEsp.getId());
            espe.setEspecialidad(eEsp.getEspecialidad());
            entidad.getTransaction().commit();
            return 1;
        }catch(Exception ex)
        {
            ex.getMessage();
            entidad.getTransaction().rollback();
            return 0;
        }
    }
    
    public int validaUnicidad(String cmdSql, String esp)
    {
        try
        {
            Object objEsp = null;
            entidad.getTransaction().begin();
            Query q = entidad.createNamedQuery(cmdSql).setParameter("espe", esp);
            objEsp = q.getSingleResult();
            entidad.getTransaction().commit();
            return 1;//retorna 1 si encuentra una coincidencia
        }catch(NoResultException ex)
        {
            ex.getCause();
            entidad.getTransaction().rollback();
            return 0;
        }catch(Exception ex)
        {
            ex.getCause();
            entidad.getTransaction().rollback();
            return 0;
        }
    }
}//cls
